home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
-
- . /etc/system.cfg
- . /etc/live.cfg
- . /etc/chat.pwd
-
-
- PATH=/boot/bin:/bin:/sbin:/usr/bin:/usr/sbin:/etc:/tmp:/rc:/mnt/bootdev/router/pkg/rc:/mnt/bootdev/router/rc:/:/:.
-
- T=`date`
- HSIDE="<html><head><style fprolloverstyle>A:hover {color: #FF00FF}</style></head><body bgcolor=black text=white link=#00FFFF vlink=#00FFFF alink=#FF00FF><center>"
- FSYS="<font face=system"
- HSTAB="<tr><td colspan=4 bgcolor=#333333>$FSYS color=#FFFF00>"
- LINE1="<tr><td colspan=4>$FSYS><a target=main href=usr.cgi"
- LINE3="<tr><td colspan=4>$FSYS><a target=main href=adm.cgi"
- NBSP="<tr><td> </td></tr>"
- A="</a></td></tr>"
- B="<tr><td>$FSYS>"
- C="</td><td align=right>$FSYS><a target=main href=adm.cgi"
- D="</a> <a target=main href=adm.cgi"
- E="echo"
- F="</td><td align=right>$FSYS><a target=main href=usr.cgi"
-
- MODE_D=Dial-up
- if [ "$USEPPP0" = y -a "$ROUTER" = ethernet ]; then
- MODE_D=PPPoE
- [ "$PPPTYPE" = t ] && MODE_D=PPtP
- fi
-
- logname() {
- export LOGNAME=$REMOTE_USER@$REMOTE_ADDR
- }
- ttl() {
- $E "<html><body bgcolor=#000000 text=#00FF00><table border=1 width=100% bordercolor=#FFFFCC cellspacing=0 cellpadding=5><tr><td><font face=courier size=3><pre>"
- }
- end() {
- $E "</center><br><font color=#FFFFFF>[<font color=#FF00FF>L<font color=#00FFFF>i<font color=#00FF00>n<font color=#FFFF00>u<font color=#FF0000>x<font color=#FFFFFF>]<font color=#00FF00> _</td></tr></table></body></html>"
- }
- cpage() {
- ttl
- $E "</pre><p align=center>FREESCO v$VERSION [$ROUTER $ISPNAME] $T</p><br><br><br><br><center>$*<br><br><br>"
- end
- }
-
- case "$1" in
- ttl) ttl;exit;;
- end) end;exit;;
- cpage) shift;cpage "$*";exit;;
- esac
-
- $E "Content-type: text/html"
- $E "Expires: Thu, 1 Oct 1990 19:32:44 GMT"
- $E
- $E
- case "$QUERY_STRING$REMOTE_USER" in
-
- line*) $E "$HSIDE<form method=POST action=adm.cgi?shell target=main><font face=Courier size=4><br>[<font color=#FF00FF>L<font color=#00FFFF>i<font color=#00FF00>n<font color=#FFFF00>u<font color=#FF0000>x<font color=#FFFFFF>] <input type=text name=line size=50 style="font-family: Courier"> <input type=submit value=Enter><input type=reset value=Clear></form></body></html>";;
-
- side*) cat <<-!
- $HSIDE
- <table border=1 cellpadding=3 cellspacing=0 bordercolor=#FFFFCC><tr><td>
- <table border=0 cellpadding=2 cellspacing=0>
- $HSTAB Info</td></tr>
- $LINE1?info>System$A
- $LINE1?log>Recent Log$A
- $LINE1?login>Last Logins$A
- $LINE1?net>Network$A
- !
- if [ "$ROUTER" = dialup -o "$USEPPP0" = y ]; then
- cat <<-!
- $NBSP
- $HSTAB $MODE_D Link$A
- ${B}Link$F?state>STAT</td><td colspan=2>
- !
- if [ "$ROUTER" = dialup ]; then
- cat <<-!
- <a href=usr.cgi?up target=main>$FSYS>UP</a> <a href=usr.cgi?down target=main>$FSYS>DWN$A
- ${B}Block$C?</a>$F?block>ON$F?unblock>OFF$A
- ${B}Force$C?</a>$F?force>ON$F?unforce>OFF$A
- !
- else
- $E "<a href=usr.cgi?pppup target=main>$FSYS>UP</a> </a><a href=usr.cgi?pppdown target=main>$FSYS>DOWN$A"
- fi
- fi
- if [ "$REMOTE_USER" = admin ]; then
- if [ "$ROUTER" = ethernet -a "$ENADYNDNS" = y ]; then cat <<-!
- $NBSP
- $HSTAB DynDNS$A
- $LINE1?dyndns>DynDNS Stat</a>
- $LINE3?dyndns>Update now</a>
- $LINE3?dynforce>Force update</a>
- !
- fi
- cat <<-!
- $NBSP
- $HSTAB Modem Users$A
- $LINE3?listu>List$D?tpass>Add/Change$D?formdel>Delete$A
-
- $NBSP
- $HSTAB Web Users$A
- $LINE3?wlst>List$D?fpass>Add/Change$D?formwdel>Delete$A
-
- $NBSP
- $HSTAB Services$A
- ${B}Firewall$C?</a>$C?fwall>RST$A
- ${B}DNS$C?dnsstatus>STAT$C?dnsrestart>RST$C?dnsstop>OFF$A
- ${B}DHCP$C?dhcpstatus>STAT$C?dhcprestart>RST$C?dhcpstop>OFF$A
- ${B}HTTP$C?</a>$C?</a>$C?httpstop>OFF$A
- ${B}FTP$C?pureftpstatus>STAT$C?pureftprestart>RST$C?pureftpstop>OFF$A
- ${B}LPD$C?lpdstatus>STAT$C?lpdrestart>RST$C?lpdstop>OFF$A
- ${B}Ident$C?identstatus>STAT$C?identrestart>RST$C?identstop>OFF$A
- ${B}Cron$C?cronstatus>STAT$C?cronrestart>RST$C?cronstop>OFF$A
- ${B}Telnet$C?tlnetstatus>STAT$C?tlnetrestart>RST$C?tlnetstop>OFF$A
- ${B}Dial-in$C?mdmstatus>STAT$C?mdmrestart>RST$C?mdmstop>OFF$A
- ${B}Rings$C?ringmore>MORE$C?ringstd>RST$A
- ${B}Time</td><td colspan=3><a href=adm.cgi?sync target=main>$FSYS>SYNCHRONIZE$A
- $NBSP
- $HSTAB Banned Connections$A
- $LINE3?blst>List$D?formban>Deny$D?formuban>Allow$A
- $NBSP
- $HSTAB Port Forwarding$A
- $LINE3?plist>List$D?fadd>Add$D?fdel>Delete</a>$D?prst>RST$D?poff>OFF$A
- $NBSP
- $HSTAB Change Mode$A
- $LINE3?reboot>REBOOT$A
- !
- if [ "`cat /etc/system.cfg | sed -n /ROUTER=eth/p`" ]; then
- $E "$LINE3?ethernet>ETHERNET$A"
- fi
- if [ $ROUTER = ethernet -o $ROUTER = dialup ]; then
- $E -n "<tr><td colspan=4>$FSYS>DIAL-UP$A"
- for i in `ls /etc/*.isp 2>/dev/null | sed 's:/etc/::g;s/.isp//g'`; do
- if [ "$i" = "$DEFISP" ]; then
- $E -n "$LINE3?isp.$i><em>$i</em>$A"
- else
- if [ "$i" != ethernet ]; then
- $E -n "$LINE3?isp.$i>$i$A"
- fi
- fi
- done
- fi
- fi
-
- if [ "$REMOTE_USER" = admin ]; then
- $E "$NBSP"
- $E "$HSTAB PACKAGES $A</font>"
- PACKAGES=""
- for o in `ls /wwa/cgi/addons/`; do
- if [ "$o" != addons ]; then
- PACKAGES="$PACKAGES $o"
- fi
- done
- for o in $PACKAGES; do
- $E -n "<tr><td colspan=4>$FSYS>$o</a></font>"
- for i in `ls /wwa/cgi/addons/$o/ | sed s/.cgi//`; do
- $E "<tr><td>$FSYS><a target=main href=/cgi/addons/$o/$i.cgi>$i</a></font>"
- done
- done
-
- $E " </table></td></tr></table></body></html>"
- fi;;
-
- void*) cpage "System is up since<br>$BOOTIME";;
-
- info*) ttl; sysinfo | sed "s/</\<\;/g;s/>/\>\;/g" | sed '/^$/d'; end;;
-
- login*) ttl
- $E
- cat /var/secure 2>/dev/null 2>/dev/null
- $E
- end;;
-
- log*) ttl; $E
- cat /var/log/messages.1 2>/dev/null
- $E
- cat /var/messages 2>/dev/null | sed "s/</\<\;/g;s/>/\>\;/g"
- $E
- end;;
-
- net*) ttl; netinfo | sed "s/</\<\;/g;s/>/\>\;/g"; end;;
-
- state*) L="UP -"
- if [ -f /tmp/state ]; then
- M=`cat /tmp/state`
- set -- `cat /tmp/connect`
- shift
- O="$*"
- else
- if [ "$USEPPP0" = y -a "`ifconfig | grep ppp`" ]; then
- set --`ifconfig ppp0 | grep inet | sed -e 's/i[^:]*://' -e 's/P.*//'`
- O="$1"
- else
- L="DOWN"
- fi
- fi
- [ "$ENADYNDNS" = y ] && N="<a target=main href=usr.cgi?dyndns>DynDNS Stat</a>"
-
- cpage "</center><blockquote>$MODE_D Link to [$ISPNAME] is $L $O<br><br>$M<br><br>$N"
- ;;
-
- dyndns*) cpage "</center><blockquote><pre>`dyndns status`</pre></blockquote>";;
-
-
- up*|down*|block*|unblock*|force*|unforce*)
- logname
- cpage "`control $QUERY_STRING`";;
-
- pppup*) logname
- cpage "<pre>`rc_net restart`</pre>";;
-
- pppdown*) logname
- killall pppd ; cpage "$MODE_D link is down";;
-
- *) $E "<html><head><title>FREESCO's Control Panel (c) 2000,2003 www.freesco.org</title></head>"
- if [ "$REMOTE_USER" = admin ]; then
- $E "<frameset rows="*,15%" framespacing=0 border=0 frameborder=0>"
- FWIDTH=28
- else
- FWIDTH=20
- fi
- cat <<-!
- <frameset cols="${FWIDTH}%,*" framespacing=0 border=0 frameborder=0>
- <frame name=side src=usr.cgi?side>
- <frame name=main src=usr.cgi?void>
- </frameset>
- !
- [ "$REMOTE_USER" = admin ] && $E "<frame name=line src=usr.cgi?line></frameset>"
- $E "<noframes><body>C'mon look at your calendar.<br>Upgrade to frame capable browser or use telnet.</body></noframes></html>"
- ;;
-
- esac
-